High performance computing environments often require distributed high performance file systems. Such file systems may be responsible for storing and managing access to millions of files. In some cases, such file systems may have to provide files for thousands, or even millions of simultaneous users. Additionally, high performance file systems may be required to support very large files.
Accordingly, naively performing standard file operations may unacceptably impact performance. Standard file locking procedures may significantly impact performance and/or negatively effect user experience. Also, naively locking and/or copying very large files may take too long and/or consume too many system resources. Further, naively duplicating large files may unnecessarily consume large amounts of storage space. For example, users often create duplicate files where the duplicate files continue to share the bulk of their content. Thus, naïve duplication may generate unnecessarily duplicative file portions. Consequently, systems that can manage large and/or distributed file systems are the subject of considerable innovation.